'''
Author: 渔火Arcadia  https://github.com/yhArcadia
Date: 2025-04-18 00:13:00
LastEditors: 渔火Arcadia
LastEditTime: 2025-04-24 21:32:14
FilePath: /example/test.py
Description: 

Copyright (c) 2025 by 渔火Arcadia 1761869682@qq.com, All Rights Reserved. 
'''
from utils.loader import test_loader,label_loader
import torch

#====这里填写要检测的图片路径====
image_path='./dataset/traindata/1-2.jpg'
#===============================

label_map = label_loader() # 加载标签映射
img = test_loader(image_path) # 加载我们像测试的图片
model = torch.load('./model.pth',weights_only=False) # 从文件中加载模型

model.eval() # 设置模型为评估模式，关闭Dropout和BatchNorm等训练时的特殊行为，这样模型参数不会被更新
res = model(img) # 将图片输入到模型中，得到预测值（4个分类对应的概率分布）
# print(res)

predicted_label = torch.argmax(res).item() # 找到4个分类中概率最大的类别索引
result = label_map[predicted_label] # 根据索引找到对应的汉字标签,便于阅读

print(f"\n模型对于【数字0、数字1、数字2、qq企鹅脸】这4个分类的预测概率分布：\n{res}")
print(f"\n预测结果: {result}\n")